Bug 554704 – gtkfilesystemmodel does too much work
authorChristian Persch <chpe@src.gnome.org>
Thu, 2 Oct 2008 19:48:02 +0000 (19:48 +0000)
committerChristian Persch <chpe@src.gnome.org>
Thu, 2 Oct 2008 19:48:02 +0000 (19:48 +0000)
svn path=/trunk/; revision=21572

ChangeLog
gtk/gtkfilesystemmodel.c

index e55f95c25e379221591fa4da06371bdb561ad0ac..a08af25ee822fa02668eae058f37a5321ee1aa1e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-10-02  Christian Persch
+
+        Bug 554704 – gtkfilesystemmodel does too much work
+
+        * gtk/gtkfilesystemmodel.c: Replace g_slist_length()<1 check with a
+        simple NULL check.
+
 2008-10-02  Christian Persch
 
         Bug 554701 – filechooser spams console with useless warnings
index de08a6374faecc7ab67d10d5974b62c6fb94e6fe..9536d0fa74d5d87d1a6723c357ef6391032a6ba0 100644 (file)
@@ -994,7 +994,7 @@ ref_path_cb (GCancellable *cancellable,
 
   if (folder)
     info->cleanups = g_slist_prepend (info->cleanups, folder);
-  else if (g_slist_length (info->files) == 1
+  else if ((info->files != NULL && info->files->next == NULL) /* g_slist_length == 1 */
            && g_file_equal (info->node->file, info->files->data))
     {
       /* Done, now call the function */
@@ -1025,7 +1025,7 @@ ref_path_cb (GCancellable *cancellable,
   g_object_unref (info->files->data);
   info->files = g_slist_remove (info->files, info->files->data);
 
-  if (g_slist_length (info->files) < 1)
+  if (info->files == NULL)
     {
       /* Done, now call the function */
       if (info->node)
@@ -1136,7 +1136,7 @@ _gtk_file_system_model_path_do (GtkFileSystemModel        *model,
     }
   g_object_unref (parent_file);
 
-  if (g_slist_length (files) < 1)
+  if (files == NULL)
     return;
 
   /* Now we have all paths, except the root path */
@@ -1153,7 +1153,7 @@ _gtk_file_system_model_path_do (GtkFileSystemModel        *model,
   g_object_unref (files->data);
   files = g_slist_remove (files, files->data);
 
-  if (g_slist_length (files) < 1)
+  if (files == NULL)
     {
       /* Done, now call the function */
       if (node)